package com.qh.xx.链表;

/**
 * @description:
 * @author: zqh
 * @date: 2021/11/1 12:26
 * https://leetcode-cn.com/problems/reverse-linked-list/
 **/
public class _206_反转链表 {

    // Definition for singly-linked list.
    public class ListNode {
        int val;
        ListNode next;

        ListNode() {
        }

        ListNode(int val) {
            this.val = val;
        }

        ListNode(int val, ListNode next) {
            this.val = val;
            this.next = next;
        }
    }

    class Solution {
        public ListNode reverseList(ListNode head) {
            //采用递归的思想
            if (head == null || head.next == null) {
                return head;
            }
            ListNode newHead = reverseList(head.next);
            head.next.next = head;
            head.next = null;
            return newHead;


            //迭代
        }
    }
}
